package me.luger.project.fof.entity;


import com.alibaba.fastjson.annotation.JSONField;
import me.luger.core.dao.nutz.entity.BaseEntity;
import me.luger.core.dao.nutz.entity.NutzTransient;
import org.nutz.dao.entity.annotation.*;

import java.io.Serializable;
import java.util.Date;

@Table("fof_info")
public class FofInfo extends BaseEntity implements Serializable{
private static final long serialVersionUID=1L;


    /**
     * fof唯一编号
     */
    @Id
    @Column("id")
    @Comment("fof唯一编号")
    @ColDefine(type = ColType.INT, width = 10)
    private Integer id;
    /**
     * FOF完整名称
     */
    @Column("fullName")
    @Comment("FOF完整名称")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String fullName;
    /**
     * FOF短名称
     */
    @Column("shortName")
    @Comment("FOF短名称")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String shortName;
    /**
     * fof收益类型
     */
    @Column("profitType")
    @Comment("fof收益类型")
    @ColDefine(type = ColType.INT, width = 3)
    private Integer profitType;
    /**
     * fof产品类型
     */
    @Column("productType")
    @Comment("fof产品类型")
    @ColDefine(type = ColType.INT, width = 10)
    private Integer productType;

    /**
     * fof默认市值
     */
    @Column("marketWorth")
    @Comment("fof默认市值")
    @ColDefine(type = ColType.FLOAT, width = 10)
    private Double marketWorth;
    /**
     * FOF创建者ID
     */
    @Column("userId")
    @Comment("FOF创建者ID")
    @ColDefine(type = ColType.INT, width = 10)
    private Integer userId;
    /**
     * 创建日期
     */
    @Column("createDate")
    @Comment("创建日期")
    @ColDefine(type = ColType.DATETIME, width = 19)
    @JSONField (format="yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    /**
     * FOF可见度
    1-完全公开
    2-公司内部可见
    3-只有指定用户可见
    4-私有，只有owner可见
     */
    @Column("status")
    @Comment("FOF可见度 1-完全公开 2-公司内部可见 3-只有指定用户可见 4-私有，只有owner可见")
    @ColDefine(type = ColType.INT, width = 3)
    private Integer status;

    @NutzTransient
    private String owner;
    @NutzTransient
    private String ProductTypeName;

    @NutzTransient
    private String companyName;

    @NutzTransient
    private Double netWorth;//最新净值
    @NutzTransient
    private Double huiche;//最大回撤
    @NutzTransient
    private Double yearProfit;//年化收益率
    @NutzTransient
    private Double curYearProfit;//2016年收益率
//    @NutzTransient
//    private Double marketWorth;//市值(万元)

    public void setId(Integer id){
        this.id=id;
    }
    public Integer getId(){
        return this.id;
    }

    public void setFullName(String fullName){
        this.fullName=fullName;
    }
    public String getFullName(){
        return this.fullName;
    }

    public void setShortName(String shortName){
        this.shortName=shortName;
    }
    public String getShortName(){
        return this.shortName;
    }

    public void setProfitType(Integer profitType){
        this.profitType=profitType;
    }
    public Integer getProfitType(){
        return this.profitType;
    }

    public void setProductType(Integer productType){
        this.productType=productType;
    }
    public Integer getProductType(){
        return this.productType;
    }

    public void setUserId(Integer userId){
        this.userId=userId;
    }
    public Integer getUserId(){
        return this.userId;
    }

    public void setCreateDate(Date createDate){
        this.createDate=createDate;
    }
    public Date getCreateDate(){
        return this.createDate;
    }

    public void setStatus(Integer status){
        this.status=status;
    }
    public Integer getStatus(){
        return this.status;
    }

    public String getOwner() {
        return owner;
    }

    public void setOwner(String owner) {
        this.owner = owner;
    }

    public String getProductTypeName() {
        return ProductTypeName;
    }

    public void setProductTypeName(String productTypeName) {
        ProductTypeName = productTypeName;
    }

    public Double getNetWorth() {
        return netWorth;
    }

    public void setNetWorth(Double netWorth) {
        this.netWorth = netWorth;
    }

    public Double getHuiche() {
        return huiche;
    }

    public void setHuiche(Double huiche) {
        this.huiche = huiche;
    }

    public Double getYearProfit() {
        return yearProfit;
    }

    public void setYearProfit(Double yearProfit) {
        this.yearProfit = yearProfit;
    }

    public Double getCurYearProfit() {
        return curYearProfit;
    }

    public void setCurYearProfit(Double curYearProfit) {
        this.curYearProfit = curYearProfit;
    }

    public Double getMarketWorth() {
        return marketWorth;
    }

    public void setMarketWorth(Double marketWorth) {
        this.marketWorth = marketWorth;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
}